/*
 * SensorRouting.java
 *
 * @created Jeudi 08/03/07
 *
 * @author bbrison
 */

package communication.thirdLayer;

import kernel.*;
import objects.*;
import java.util.*;
import communication.*;

public abstract class SensorRouting extends ThirdLayerProtocol {
    
    public final static String DIRECTED = "Directed Diffusion";
    public final static String DISJOINT = "Disjoint Multipath";
    public final static String BRAIDED = "Braided Multipath";
    
    public SensorRouting(SensorSimulator sim, String protocol) {
	super(sim,protocol);
	/*	Vector<SensorNetwork> snet = sim.getSensorNetworkVector();
	Vector<Sink> sinks = ((SensorSimulator)sim).getSinkVector();
	for(SensorNetwork current : snet) {
	    Vector<Sensor> sensvect = current.getSensorVect();
	    for(Sensor sens : sensvect) {
		network.add(sens.getRouter());
	    }
	}
	for(Sink current : sinks) {
	    network.add(current.getRouter());
	    }*/
	
    }

    public abstract void packagesTreatment();
    
    public double getHelloTime() {
	return -1;
    }

    public abstract void routesMaintenance();
    
    public abstract void failedCommunicationTreatment(WishedEmission we);
    
    public String getProtocoleName() {
	return _protocol;
    }
    
}
